package com.mbti.youmore.util;

import cn.dev33.satoken.stp.StpUtil;
import com.mbti.youmore.common.AppProperties;
import com.mbti.youmore.entity.User;

import java.io.Serializable;

/**
 * StpSession工具类
 * @author Guqier
 * @version 1.0
 * @date 2024/1/24 下午 6:59
 */
public class AccessTokenUtils implements Serializable {

    /**
     * 获取当前登录用户的账号
     * @return 当前登录用户的账号
     */
    public static String getUsername(){
        return ((User)StpUtil.getSession().get(AppProperties.Auth.SESSION_USER_INFO_KEY)).getUsername();
    }

    /**
     * 获取当前登录用户的id
     * @return 当前登录用户的id
     */
    public static Integer getUserId(){
        return ((User)StpUtil.getSession().get(AppProperties.Auth.SESSION_USER_INFO_KEY)).getUserId();
    }

    /**
     * 获取当前登录用户的信息
     * @return 当前登录用户的信息
     */
    public static User getUserSessionBo(){
        return ((User)StpUtil.getSession().get(AppProperties.Auth.SESSION_USER_INFO_KEY));
    }

    /**
     * 设置当前登录用户的信息
     * @param user 当前登录用户的信息
     */
    public static void setUserSession(User user){
        StpUtil.getSession().set(AppProperties.Auth.SESSION_USER_INFO_KEY, user);
    }

}
